1. Field of the Invention
The present invention relates to media streams, and more specifically, to reformatting media streams to include auxiliary data.
2. Background
The encoding of content into media streams needs to satisfy multiple conditions. For example, the content needs to be compressed to a small size for efficient transmission. The content also needs to conform to specifications that allow for multiple different client devices to decode and present the content in a consistent manner. Further, it needs to provide high level information that allows for parsing, trickplay and navigation of the content. Frequently, it also needs to allow for time synchronization so that the client device is playing at the same rate that the server is delivering the media content.
The above-listed complexities are layered and have interdependencies between them. Modification of the content size often results in invalidation of other components, possibly with circular implications. However, to enhance the usefulness or protection of the content, there are instances where information needs to be added to an encoded media stream.
One common situation includes the need to add digital rights management (DRM) related information, such as conditional access (CA) entitlement control messages (ECM) and entitlement management messages (EMM), to an existing media stream to protect the stream after it has been encoded. A simple insertion of additional information in the existing content format would displace the location of following information, increase the bit rate used to transmit the content, and disrupt the overall consistency that can be used for timing during streaming and playback. Correction of these interdependent parameters can be accomplished with a content transcode. In the content transcode process, the original stream is broken down into elementary components, audio, video, and so on. At this level, information is added or removed, and the process of multiplexing is then applied to create a new stream that includes audio and video with the correct timing information. However, this is complex and time intensive, and therefore often uses dedicated and expensive hardware to perform the task within acceptable processing delays that are in particular relevant for live streaming. If the inconsistencies are not remedied, the content playback is likely affected negatively with artifacts such as jitter, skips, or frozen playback.